package org.me.service;

import java.io.Serializable;
import java.util.List;
import org.me.entityBeans.TDepartamentos;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

public interface DepartamentoServiceHibernate {
   @Transactional(readOnly=false, propagation=Propagation.REQUIRED, rollbackFor=Exception.class) //solo lectura false ya que es de tipo update, required ya que crea transaccion y rollbackFor=Exception.class indica que todas las excepciones del método deben forzar un rolklback (applicationContext-data.xml)
   public void saveOrUpdateDepartamento(TDepartamentos departamento); //Graba o actualiza un Dpto x su Id
   public String deleteDepartamento(TDepartamentos departamento); //Borra un Dpto x su Id
   public List<TDepartamentos> findAllDepartamentos(); //Trae todos los Dptos   
   public List<TDepartamentos> findByNameDepartamento(String nomDepartamento); //Trae el Dpto que coincida con el nombre         
   public TDepartamentos findByIdDepartamento(Serializable id); //Trae el Dpto que coincida con el id
   public List<TDepartamentos> findDptosConProvincias(Short idDpto);//Trae el Dpto con sus Provincias asociados que coincida con el idDpto
     
}
